Análise Multivariada - Aula 1 - Parte II

Mestrado Profissional em Administração

Prof. Washington Santos da Silva

IFMG - Campus Formiga

15 de outubro de 2023

Introdução à Linguagem R

R packages

  • Uma das vantagens da linguagem R é sua extensibilidade. E a forma usual de extender a linguagem é a programação de pacotes ou biliotecas.

  • Até este momento, há Há mais de 20.000 pacotes disponíveis no CRAN.

  • R e o RStudio possuem funcionalidades para o gerenciamento de pacotes:

R packages

A linguagem R possui diversos comandos para o gerenciamento de pacotes:

  • Você pode ver quais pacotes estão instalados com: installed.packages()

  • Você pode instalar pacotes com: install.packages("nome do pacote")

  • Você pode atualizar os pacotes instalados com update.packages()

  • Você pode remover um pacote com remove.packages("nome do pacote")

  • Você ativa um pacote instalado para uso com library(packagename) ou com nome_do_pacote::nome_da_funcao_do_pacote

Por exemplo, para instalar o pacote dplyr:

install.packages("dplyr")

Podemos instalar diversos pacotes no mesmo comando:

install.packages("dplyr", "skimr", "gapminder")

Para ativar o pacote em uma sessão fazemos:

library(dplyr)

Uma alternativa ao comando library() é utilizar:

dplyr::glimpse(mtcars) # o pacote deve ter sido instalado!

Poderíamos remover o mesmo pacote como:

remove.packages("dplyr")

R packages

O RStudio possui funcionalidades para o gerenciamento de pacotes no painel Output, na guia Packages:

  • Nesta guia, é possível instalar pacotes clicando em Install e, na janela exibida, digitar o nome do pacote ou pacotes a serem instalados, no caso de mais de um pacote, bastar que os nomes sejam separados por vírgula ou espaço.

  • Nesta guia também é possível atualizar pacotes já instalados clicando em Update. É importante sempre atualizar os pacotes.

  • É também possível ativar e desativar pacotes marcando ou desmarcando o quadro referente ao pacote.

Usando R como uma calculadora

2 + 18               # adição
2 - 18               # subtração
50821/6              # divisão
21*4                 # multiplicação
exp(10)              # função e^10
log(10)              # log natural de 10
choose(10, 8)        # comb(n,k)
factorial(100)       # !100
cos(pi)              # cosseno 
sin(pi)              # tangente 
round(pi, digits=2)  # arredondamento

Precedencia de operacoes:

1/200*30        # (1/200)*30 - divisao tem precedencia
1/(200*30)      # deve-se usar parenteses para definir a precedencia

definindo a precedencia com parênteses:

(59 + 73 + 2)/3

Sintáxe da linguagem: Atribuição

  • Podemos criar objetos com <-
x <- 3*4
  • Todas as instruções R com as quais criamos objetos (declarações de atribuição) tem o mesmo formato:
nome_objeto <- valor
  • como ler esse código?

  • valor é atribuído a nome_objeto

  • Obs: nome_objeto = valor funciona mas não é uma boa prática!

  • x = 2 funciona, mas não é uma boa prática.

Sintáxe da linguagem: Atribuição (cont.)

  • Faremos muitas atribuições com <-, e não é eficiente digitar.

  • Solução?

  • shortcut: Alt + -

  • Observe que o RStudio magicamente envolve <- com espaços, que é uma boa prática de formatação de código.

  • É terrível ler código, então dêaosseusolhosumapausa e use espaços.

  • Há um contrato implícito entre nós e a linguagem R.

  • R fará o cálculo tedioso para nós, mas em troca, devemos ser completamente preciso nas instruções.

  • Erros de digitação (typos) importam.

  • Case (Maiúscula/Minúscula) importa.

Programando em R: Boas Práticas

  • nomes de objetos devem começar com uma letra e podem conter letras, números, _ e .

  • Queremos nomes de objetos descritivos, então precisamos de uma convenção (code style).

i_use_snake_case
OtherPeopleUseCamelCase
some.people.use.periods
And_aFew.People_RENOUNCEconvention

Guias de Estilo

Funções em R

  • R tem uma grande coleção de funções internas que são executadas como a seguinte sintaxe:
function_name(arg1 = val1, arg2 = val2, ...)
  • Exemplos com a função seq()
y <- seq(1, 10, length.out = 5)
y
  • Exemplos de autocompletion com TAB

para que o resultado seja exibido diretamente envolva toda a expressão entre parênteses:

(y <- seq(1, 10, length.out = 5))

Tipos de Dados (Atômicos)

Principais Tipos

Descrição
double a vector containing real values
integer a vector containing integer values
character a vector containing character values
logical a vector containing logical values
complex a vector containing complex values

Tipos Especiais

Descrição
NA Not Available: dados faltantes
NaN Not a Number: 0/0
Inf \(+ \infty\) ou \(- \infty\)

Documentação: Definições daLinguagem R

R Language Definition

Estruturas de Dados

Estruturas de Dados: Visão Geral

Factors: forcats package

Encorajo vocês a explorararem o pacotte forcats:

forcats website

Manipulando dados com o pacote dplyr

Data Frames: Manipulação com o pacote dplyr

  • O pacote dplyr pertence a um metapacote (família de pacotes) projetado especificamente para Ciência dos Dados chamado Tidyverse.

  • Alguns desses pacotes serão abordados ao longo deste curso, mas você pode encontrar informações mais completas em: https://www.tidyverse.org/.

  • o pacote dplyr é uma gramática de manipulação de dados.

  • O pacote fornece um conjunto consistente de verbos que ajudam a resolver os desafios mais comuns de manipulação de dados.

Pacote dplyr: Principais Verbos

Verbos Descrição
select() picks variables based on their names.
filter() picks cases based on their values.
mutate() adds new variables that are functions of existing variables
arrange() changes the ordering of the rows
summarise() reduces multiple values down to a single summary.
group_by() allows you to perform any operation “by group”

Tutorial sobre o Pacote dplyr

  • Para demonstrar o uso dos verbos, vamos utilizar os dados denominados gapminder que estão disponíveis no próprio pacote gapminder.

Pacote dplyr: Verbos

Fig. 1. ?(caption)

Pacote dplyr: group_by() e summarise()

Fig. 2. ?(caption)

Dicas

Dica: Cancelando comandos

  • Caso voce tenha enviado código para execução a partir do painel Source e por alguma razão você desejar cancelar a execução, basta apertar a tecla ESC.

  • Se você estiver executando código no console interativo, Você precisa usar Ctrl+C ao invés de Esc para cancelar o comando.

  • Cancelar um comando não é útil apenas para finalizar comandos incompletos.

  • Você também pode usá-lo para dizer ao R parar de executar o código (por exemplo, se o código estiver levando muito tempo para ser executado).

Dica: Warnings vs Errors

Preste atenção quando R fizer algo inesperado.

  • Errors: são exibidos quando R não pode prosseguir com uma operação.

  • Warnings: são exibidas, geralmente, quando uma operação foi executada, mas provavelmente não funcionou como esperado.

  • Em ambos os casos, a mensagem que R exibe pelo mnenos tenta lhe dar pistas sobre o problema.

Referência Adicional